#!/usr/bin/env bash

. ./test.common

test_start "port and acquisitionport directives"

check_config_h 'FEAT_CMDMON 1' || test_skip

run_test || test_fail
check_chronyd_exit || test_fail
check_source_selection || test_fail
check_packet_interval || test_fail
check_sync || test_fail
# This check is expected to fail
check_packet_port && test_fail

client_conf="acquisitionport 123"
run_test || test_fail
check_chronyd_exit || test_fail
check_packet_port || test_fail
check_source_selection || test_fail
check_packet_interval || test_fail
check_sync || test_fail

client_conf=""
for server_conf in \
	"port 0" \
	"acquisitionport 123
port 0"
do
	run_test || test_fail
	check_chronyd_exit || test_fail
	check_packet_port || test_fail
	check_packet_interval || test_fail
	# These checks are expected to fail
	check_source_selection && test_fail
	check_sync && test_fail
done

server_conf="port 124
acquisitionport 123"
client_server_options="port 124"
for client_conf in \
	"acquisitionport 0" \
	"acquisitionport 123" \
	"acquisitionport 124"
do
	run_test || test_fail
	check_chronyd_exit || test_fail
	check_source_selection || test_fail
	check_packet_interval || test_fail
	check_sync || test_fail
	# This check is expected to fail
	check_packet_port && test_fail
done

test_pass
